-
-
Save tcurdt/e9e6519bc24590627f2c7f01f19ecaa3 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
loadrt [KINS]KINEMATICS | |
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS | |
loadrt pid num_chan=4 | |
loadrt hostmot2 | |
loadrt hm2_eth board_ip="10.10.10.10" config="num_stepgens=5 num_encoders=0 num_pwmgens=0" | |
setp hm2_7i92.0.watchdog.timeout_ns 5000000 | |
#net estop-loopback iocontrol.0.emc-enable-in <= iocontrol.0.user-enable-out | |
# threads | |
addf hm2_7i92.0.read servo-thread | |
addf motion-command-handler servo-thread | |
addf motion-controller servo-thread | |
addf pid.0.do-pid-calcs servo-thread | |
addf pid.1.do-pid-calcs servo-thread | |
addf pid.2.do-pid-calcs servo-thread | |
addf pid.3.do-pid-calcs servo-thread | |
addf hm2_7i92.0.write servo-thread | |
#hm2_7i92.0.led.CR01 | |
#hm2_7i92.0.led.CR02 | |
#hm2_7i92.0.led.CR03 | |
#hm2_7i92.0.led.CR04 | |
#hm2_7i92.0.gpio.000.in | |
#hm2_7i92.0.gpio.000.in_not | |
#hm2_7i92.0.gpio.000.out | |
#hm2_7i92.0.gpio.000.is_output | |
#hm2_7i92.0.gpio.000.is_opendrain | |
#hm2_7i92.0.gpio.000.invert_output | |
#hm2_7i92.0.stepgen.00.direction.invert_output | |
#spindle.0.on | |
#spindle.0.forward | |
#spindle.0.speed-in | |
#spindle.0.speed-out | |
#spindle.0.revs | |
#spindle.0.at-speed | |
####################################### | |
# joint 0 | |
# pid | |
setp pid.0.Pgain [JOINT_0]P | |
setp pid.0.Igain [JOINT_0]I | |
setp pid.0.Dgain [JOINT_0]D | |
setp pid.0.bias [JOINT_0]BIAS | |
setp pid.0.FF0 [JOINT_0]FF0 | |
setp pid.0.FF1 [JOINT_0]FF1 | |
setp pid.0.FF2 [JOINT_0]FF2 | |
setp pid.0.deadband [JOINT_0]DEADBAND | |
setp pid.0.maxoutput [JOINT_0]MAX_OUTPUT | |
setp pid.0.maxerror [JOINT_0]MAX_ERROR | |
setp pid.0.error-previous-target true | |
# enable | |
net joint-0-index-enable <=> pid.0.index-enable | |
net joint-0-enable <= joint.0.amp-enable-out | |
net joint-0-enable => pid.0.enable | |
net joint-0-enable => hm2_7i92.0.stepgen.00.enable | |
# stepgen | |
setp hm2_7i92.0.stepgen.00.dirsetup [JOINT_0]STEPGEN_DIRSETUP | |
setp hm2_7i92.0.stepgen.00.dirhold [JOINT_0]STEPGEN_DIRHOLD | |
setp hm2_7i92.0.stepgen.00.steplen [JOINT_0]STEPGEN_STEPLEN | |
setp hm2_7i92.0.stepgen.00.stepspace [JOINT_0]STEPGEN_STEPSPACE | |
setp hm2_7i92.0.stepgen.00.position-scale [JOINT_0]STEPGEN_SCALE | |
setp hm2_7i92.0.stepgen.00.maxvel [JOINT_0]STEPGEN_MAXVEL | |
setp hm2_7i92.0.stepgen.00.maxaccel [JOINT_0]STEPGEN_MAXACC | |
setp hm2_7i92.0.stepgen.00.step_type 0 | |
setp hm2_7i92.0.stepgen.00.control-type 1 | |
# feedback | |
net joint-0-pos-cmd <= joint.0.motor-pos-cmd | |
net joint-0-pos-cmd => pid.0.command | |
net joint-0-pos-fb <= hm2_7i92.0.stepgen.00.position-fb | |
net joint-0-pos-fb => joint.0.motor-pos-fb | |
net joint-0-pos-fb => pid.0.feedback | |
net joint.0.output <= pid.0.output | |
net joint.0.output => hm2_7i92.0.stepgen.00.velocity-cmd | |
####################################### | |
# joint 1 | |
# pid | |
setp pid.1.Pgain [JOINT_1]P | |
setp pid.1.Igain [JOINT_1]I | |
setp pid.1.Dgain [JOINT_1]D | |
setp pid.1.bias [JOINT_1]BIAS | |
setp pid.1.FF0 [JOINT_1]FF0 | |
setp pid.1.FF1 [JOINT_1]FF1 | |
setp pid.1.FF2 [JOINT_1]FF2 | |
setp pid.1.deadband [JOINT_1]DEADBAND | |
setp pid.1.maxoutput [JOINT_1]MAX_OUTPUT | |
setp pid.1.maxerror [JOINT_1]MAX_ERROR | |
setp pid.1.error-previous-target true | |
# enable | |
net joint-1-index-enable <=> pid.1.index-enable | |
net joint-1-enable <= joint.1.amp-enable-out | |
net joint-1-enable => pid.1.enable | |
net joint-1-enable => hm2_7i92.0.stepgen.01.enable | |
# stepgen | |
setp hm2_7i92.0.stepgen.01.dirsetup [JOINT_1]STEPGEN_DIRSETUP | |
setp hm2_7i92.0.stepgen.01.dirhold [JOINT_1]STEPGEN_DIRHOLD | |
setp hm2_7i92.0.stepgen.01.steplen [JOINT_1]STEPGEN_STEPLEN | |
setp hm2_7i92.0.stepgen.01.stepspace [JOINT_1]STEPGEN_STEPSPACE | |
setp hm2_7i92.0.stepgen.01.position-scale [JOINT_1]STEPGEN_SCALE | |
setp hm2_7i92.0.stepgen.01.maxvel [JOINT_1]STEPGEN_MAXVEL | |
setp hm2_7i92.0.stepgen.01.maxaccel [JOINT_1]STEPGEN_MAXACC | |
setp hm2_7i92.0.stepgen.01.step_type 0 | |
setp hm2_7i92.0.stepgen.01.control-type 1 | |
# feedback | |
net joint-1-pos-cmd <= joint.1.motor-pos-cmd | |
net joint-1-pos-cmd => pid.1.command | |
net joint-1-pos-fb <= hm2_7i92.0.stepgen.01.position-fb | |
net joint-1-pos-fb => joint.1.motor-pos-fb | |
net joint-1-pos-fb => pid.1.feedback | |
net joint.1.output <= pid.1.output | |
net joint.1.output => hm2_7i92.0.stepgen.01.velocity-cmd | |
####################################### | |
# joint 2 | |
# pid | |
setp pid.2.Pgain [JOINT_2]P | |
setp pid.2.Igain [JOINT_2]I | |
setp pid.2.Dgain [JOINT_2]D | |
setp pid.2.bias [JOINT_2]BIAS | |
setp pid.2.FF0 [JOINT_2]FF0 | |
setp pid.2.FF1 [JOINT_2]FF1 | |
setp pid.2.FF2 [JOINT_2]FF2 | |
setp pid.2.deadband [JOINT_2]DEADBAND | |
setp pid.2.maxoutput [JOINT_2]MAX_OUTPUT | |
setp pid.2.maxerror [JOINT_2]MAX_ERROR | |
setp pid.2.error-previous-target true | |
# enable | |
net joint-2-index-enable <=> pid.2.index-enable | |
net joint-2-enable <= joint.2.amp-enable-out | |
net joint-2-enable => pid.2.enable | |
net joint-2-enable => hm2_7i92.0.stepgen.02.enable | |
# stepgen | |
setp hm2_7i92.0.stepgen.02.dirsetup [JOINT_2]STEPGEN_DIRSETUP | |
setp hm2_7i92.0.stepgen.02.dirhold [JOINT_2]STEPGEN_DIRHOLD | |
setp hm2_7i92.0.stepgen.02.steplen [JOINT_2]STEPGEN_STEPLEN | |
setp hm2_7i92.0.stepgen.02.stepspace [JOINT_2]STEPGEN_STEPSPACE | |
setp hm2_7i92.0.stepgen.02.position-scale [JOINT_2]STEPGEN_SCALE | |
setp hm2_7i92.0.stepgen.02.maxvel [JOINT_2]STEPGEN_MAXVEL | |
setp hm2_7i92.0.stepgen.02.maxaccel [JOINT_2]STEPGEN_MAXACC | |
setp hm2_7i92.0.stepgen.02.step_type 0 | |
setp hm2_7i92.0.stepgen.02.control-type 1 | |
# feedback | |
net joint-2-pos-cmd <= joint.2.motor-pos-cmd | |
net joint-2-pos-cmd => pid.2.command | |
net joint-2-pos-fb <= hm2_7i92.0.stepgen.02.position-fb | |
net joint-2-pos-fb => joint.2.motor-pos-fb | |
net joint-2-pos-fb => pid.2.feedback | |
net joint.2.output <= pid.2.output | |
net joint.2.output => hm2_7i92.0.stepgen.02.velocity-cmd | |
####################################### | |
# joint 3 | |
# pid | |
setp pid.3.Pgain [JOINT_3]P | |
setp pid.3.Igain [JOINT_3]I | |
setp pid.3.Dgain [JOINT_3]D | |
setp pid.3.bias [JOINT_3]BIAS | |
setp pid.3.FF0 [JOINT_3]FF0 | |
setp pid.3.FF1 [JOINT_3]FF1 | |
setp pid.3.FF2 [JOINT_3]FF2 | |
setp pid.3.deadband [JOINT_3]DEADBAND | |
setp pid.3.maxoutput [JOINT_3]MAX_OUTPUT | |
setp pid.3.maxerror [JOINT_3]MAX_ERROR | |
setp pid.3.error-previous-target true | |
# enable | |
net joint-3-index-enable <=> pid.3.index-enable | |
net joint-3-enable <= joint.3.amp-enable-out | |
net joint-3-enable => pid.3.enable | |
net joint-3-enable => hm2_7i92.0.stepgen.03.enable | |
# stepgen | |
setp hm2_7i92.0.stepgen.03.dirsetup [JOINT_3]STEPGEN_DIRSETUP | |
setp hm2_7i92.0.stepgen.03.dirhold [JOINT_3]STEPGEN_DIRHOLD | |
setp hm2_7i92.0.stepgen.03.steplen [JOINT_3]STEPGEN_STEPLEN | |
setp hm2_7i92.0.stepgen.03.stepspace [JOINT_3]STEPGEN_STEPSPACE | |
setp hm2_7i92.0.stepgen.03.position-scale [JOINT_3]STEPGEN_SCALE | |
setp hm2_7i92.0.stepgen.03.maxvel [JOINT_3]STEPGEN_MAXVEL | |
setp hm2_7i92.0.stepgen.03.maxaccel [JOINT_3]STEPGEN_MAXACC | |
setp hm2_7i92.0.stepgen.03.step_type 0 | |
setp hm2_7i92.0.stepgen.03.control-type 1 | |
# feedback | |
net joint-3-pos-cmd <= joint.3.motor-pos-cmd | |
net joint-3-pos-cmd => pid.3.command | |
net joint-3-pos-fb <= hm2_7i92.0.stepgen.03.position-fb | |
net joint-3-pos-fb => joint.3.motor-pos-fb | |
net joint-3-pos-fb => pid.3.feedback | |
net joint.3.output <= pid.3.output | |
net joint.3.output => hm2_7i92.0.stepgen.03.velocity-cmd | |
####################################### | |
# spindle | |
####################################### | |
# halui | |
#net machine-is-on halui.machine.is-on | |
#net machine-is-enabled <= motion.motion-enabled |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[EMC] | |
VERSION = 1.1 | |
MACHINE = printnc | |
DEBUG = 0x00000000 | |
[MESA] | |
VERSION = 0.6.3 | |
BOARD = 7i92 | |
FIRMWARE = 7i92_5ABOBx2D.bit | |
CARD_0 = 5ABOB | |
CARD_1 = 5ABOB | |
[DISPLAY] | |
DISPLAY = axis | |
#DISPLAY = gmoccapy | |
PROGRAM_PREFIX = /home/tcurdt/linuxcnc/nc_files | |
POSITION_OFFSET = RELATIVE | |
POSITION_FEEDBACK = COMMANDED | |
MAX_FEED_OVERRIDE = 1.2 | |
MIN_VELOCITY = 0.0 | |
DEFAULT_LINEAR_VELOCITY = 10.0 | |
MAX_LINEAR_VELOCITY = 200.0 | |
CYCLE_TIME = 0.1 | |
INTRO_GRAPHIC = emc2.gif | |
INTRO_TIME = 0 | |
#PYVCP = vfd.xml | |
[KINS] | |
KINEMATICS = trivkins coordinates=XYYZ kinstype=BOTH | |
JOINTS = 4 | |
[EMCIO] | |
EMCIO = iov2 | |
CYCLE_TIME = 0.100 | |
TOOL_TABLE = tool.tbl | |
#TOOL_CHANGE_POSITION = 0 0 2 | |
[RS274NGC] | |
PARAMETER_FILE = printnc.var | |
SUBROUTINE_PATH = /home/tcurdt/linuxcnc/subroutines | |
[EMCMOT] | |
EMCMOT = motmod | |
COMM_TIMEOUT = 1.0 | |
SERVO_PERIOD = 1000000 | |
[TASK] | |
TASK = milltask | |
CYCLE_TIME = 0.010 | |
[TRAJ] | |
COORDINATES = XYYZ | |
LINEAR_UNITS = mm | |
ANGULAR_UNITS = degree | |
NO_FORCE_HOMING = 1 | |
#DEFAULT_LINEAR_VELOCITY = 0.0167 | |
#DEFAULT_LINEAR_ACCELERATION = 2.0 | |
#MAX_LINEAR_VELOCITY = 5.0 | |
#MAX_LINEAR_ACCELERATION = 20.0 | |
#HOME = 0 0 0 0 0 0 0 0 0 | |
[HAL] | |
HALUI = halui | |
HALFILE = printnc.hal | |
#HALFILE = modbus.hal | |
#HALFILE = tool.hal | |
#HALFILE = probe.hal | |
#POSTGUI_HALFILE = vfd.hal | |
[HALUI] | |
[AXIS_X] | |
MIN_LIMIT = -10 | |
MAX_LIMIT = 1000 | |
MAX_VELOCITY = 1.2 | |
MAX_ACCELERATION = 20.0 | |
[AXIS_Y] | |
MIN_LIMIT = -10 | |
MAX_LIMIT = 800 | |
MAX_VELOCITY = 1.2 | |
MAX_ACCELERATION = 20.0 | |
[AXIS_Z] | |
MIN_LIMIT = -10 | |
MAX_LIMIT = 300 | |
MAX_VELOCITY = 1.2 | |
MAX_ACCELERATION = 20.0 | |
[JOINT_0] | |
AXIS = X | |
TYPE = LINEAR | |
MIN_LIMIT = -10 | |
MAX_LIMIT = 1000 | |
MAX_VELOCITY = 1.2 | |
MAX_ACCELERATION = 20.0 | |
MIN_FERROR = 0.01 | |
FERROR = 1.0 | |
BIAS = 0 | |
P = 1000 | |
I = 0 | |
D = 0 | |
FF0 = 0 | |
FF1 = 1 | |
FF2 = 0 | |
DEADBAND = 0.000015 | |
MAX_OUTPUT = 0 | |
MAX_ERROR = 0.0127 | |
HOME = 0.0 | |
HOME_OFFSET = 0.0 | |
HOME_SEARCH_VEL = 0.0 | |
HOME_LATCH_VEL = 0.0 | |
HOME_FINAL_VEL = 0.0 | |
STEPGEN_DIRSETUP = 100000 | |
STEPGEN_DIRHOLD = 100000 | |
STEPGEN_STEPLEN = 10000 | |
STEPGEN_STEPSPACE = 10000 | |
STEPGEN_SCALE = 4000 | |
STEPGEN_MAXVEL = 1.5 | |
STEPGEN_MAXACC = 25 | |
STEPGEN_STEP_INVERT = False | |
STEPGEN_DIR_INVERT = False | |
[JOINT_1] | |
AXIS = Y | |
TYPE = LINEAR | |
MIN_LIMIT = -10 | |
MAX_LIMIT = 800 | |
MAX_VELOCITY = 1.2 | |
MAX_ACCELERATION = 20.0 | |
MIN_FERROR = 0.01 | |
FERROR = 1.0 | |
BIAS = 0 | |
P = 1000 | |
I = 0 | |
D = 0 | |
FF0 = 0 | |
FF1 = 1 | |
FF2 = 0 | |
DEADBAND = 0.000015 | |
MAX_OUTPUT = 0 | |
MAX_ERROR = 0.0127 | |
HOME = 0.0 | |
HOME_OFFSET = 0.0 | |
HOME_SEARCH_VEL = 0.0 | |
HOME_LATCH_VEL = 0.0 | |
HOME_FINAL_VEL = 0.0 | |
STEPGEN_DIRSETUP = 100000 | |
STEPGEN_DIRHOLD = 100000 | |
STEPGEN_STEPLEN = 10000 | |
STEPGEN_STEPSPACE = 10000 | |
STEPGEN_SCALE = 4000 | |
STEPGEN_MAXVEL = 1.5 | |
STEPGEN_MAXACC = 25 | |
STEPGEN_STEP_INVERT = False | |
STEPGEN_DIR_INVERT = False | |
[JOINT_2] | |
AXIS = Y | |
TYPE = LINEAR | |
MIN_LIMIT = -10 | |
MAX_LIMIT = 800 | |
MAX_VELOCITY = 1.2 | |
MAX_ACCELERATION = 20.0 | |
MIN_FERROR = 0.01 | |
FERROR = 1.0 | |
BIAS = 0 | |
P = 1000 | |
I = 0 | |
D = 0 | |
FF0 = 0 | |
FF1 = 1 | |
FF2 = 0 | |
DEADBAND = 0.000015 | |
MAX_OUTPUT = 0 | |
MAX_ERROR = 0.0127 | |
HOME = 0.0 | |
HOME_OFFSET = 0.0 | |
HOME_SEARCH_VEL = 0.0 | |
HOME_LATCH_VEL = 0.0 | |
HOME_FINAL_VEL = 0.0 | |
STEPGEN_DIRSETUP = 100000 | |
STEPGEN_DIRHOLD = 100000 | |
STEPGEN_STEPLEN = 10000 | |
STEPGEN_STEPSPACE = 10000 | |
STEPGEN_SCALE = 4000 | |
STEPGEN_MAXVEL = 1.5 | |
STEPGEN_MAXACC = 25 | |
STEPGEN_STEP_INVERT = False | |
STEPGEN_DIR_INVERT = False | |
[JOINT_3] | |
AXIS = Z | |
TYPE = LINEAR | |
MIN_LIMIT = -10 | |
MAX_LIMIT = 300 | |
MAX_VELOCITY = 1.2 | |
MAX_ACCELERATION = 20.0 | |
MIN_FERROR = 0.01 | |
FERROR = 1.0 | |
BIAS = 0 | |
P = 1000 | |
I = 0 | |
D = 0 | |
FF0 = 0 | |
FF1 = 1 | |
FF2 = 0 | |
DEADBAND = 0.000015 | |
MAX_OUTPUT = 0 | |
MAX_ERROR = 0.0127 | |
HOME = 0.0 | |
HOME_OFFSET = 0.0 | |
HOME_SEARCH_VEL = 0.0 | |
HOME_LATCH_VEL = 0.0 | |
HOME_FINAL_VEL = 0.0 | |
STEPGEN_DIRSETUP = 100000 | |
STEPGEN_DIRHOLD = 100000 | |
STEPGEN_STEPLEN = 10000 | |
STEPGEN_STEPSPACE = 10000 | |
STEPGEN_SCALE = 4000 | |
STEPGEN_MAXVEL = 1.5 | |
STEPGEN_MAXACC = 25 | |
STEPGEN_STEP_INVERT = False | |
STEPGEN_DIR_INVERT = False |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment